在介紹Spring Data JPA之前,我們先來簡單介紹ORM。
ORM (Object-Relational Mapping) ,它是一個幫助使用者簡單、安全的去從資料庫讀取資料,是透過程式語言,去操作資料庫語言。
那介紹完ORM之後,我們言歸正傳,
主要是因為Spring boot推薦我們直接使用Spring Data JPA去做ORM 持久層,所以我們接著下來就來介紹甚麼使用吧 !
spring-boot-starter-data-jpa
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
如前面介紹我們已經建立的Model,如果還不太熟悉的話可以參考 Spring boot 從零開始 (7) - Spring boot 搭配H2 Database
接著我們來說明今天最重要的重點
新增 Repository 來做為資料庫溝通介面
我們可以直接在介面上下 @Repository
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface BookRepo extends JpaRepository<Book, Integer> {
Book findBookByBookId(Integer bookId);
}
JpaRepository<Book, Integer>
這段話的意思主要就是放上你的物件和主鍵類別的部分。
如果當你都沒有特別定義方法之前,本身就可以直接利用 JpaRepository 來操作 save
、delete
等對資料庫的操作,但也可以自定義方法,我們明天就來幫大家列出Spring data JPA 常用的find的語法跟SQL的對應。
也會在教大家怎麼寫一隻包含CRUD的Serivce搭配我們今天建立的Repository !!!